import request from '@/utils/request';

/** 菜单管理模块API **/
// 获取菜单树形列表
export function GetRoutersTreeData(params) {
    return request({
        url: '/cloudApi/sys/menu/getTreeList',
        method: 'get',
        params
    })
}

// 通过id获取菜单目录的详细信息
export function GetRoutersMenu(params) {
    return request({
        url: '/cloudApi/sys/menu/getById',
        method: 'get',
        params
    })
}

// 移除菜单
export function RemoveRoutersMenu(data) {
    return request({
        url: '/cloudApi/sys/menu/removeMenu',
        method: 'post',
        data
    })
}

// 新增用户菜单
export function AddUserRouterItem(data) {
    return request({
        url: '/cloudApi/sys/menu/addMenu',
        method: 'post',
        data
    })
}

// 修改用户菜单
export function UpdateUserRouterItem(data) {
    return request({
        url: '/cloudApi/sys/menu/updateMenu',
        method: 'post',
        data
    })
}

/** 角色模块API **/
// 获取角色列表 - 不分页
export function GetRoleAll(params) {
    return request({
        url: '/cloudApi/sys/role/getRoleAll',
        method: 'get',
        params
    })
}

// 获取部门下的角色列表 - 不分页
export function GetDepartRoleAll(params) {
    return request({
        url: '/cloudApi/sys/department/getDepRole',
        method: 'get',
        params
    })
}

// 获取角色列表 - 分页
export function GetRoleList(params) {
    return request({
        url: '/cloudApi/sys/role/getRoleList',
        method: 'get',
        params
    })
}

// 添加角色
export function AddRole(data) {
    return request({
        url: '/cloudApi/sys/role/addRole',
        method: 'post',
        data
    })
}

// 获取角色信息
export function GetRoleById(params) {
    return request({
        url: '/cloudApi/sys/role/getById',
        method: 'get',
        params
    })
}

// 修改角色
export function UpdateRole(data) {
    return request({
        url: '/cloudApi/sys/role/updateRole',
        method: 'post',
        data
    })
}

// 删除角色
export function RemoveRole(data) {
    return request({
        url: '/cloudApi/sys/role/removeRole',
        method: 'post',
        data
    })
}

// 更新角色的开启/禁用状态
export function UpdateRoleStatus(params) {
    return request({
        url: '/cloudApi/sys/role/roleStatus',
        method: 'get',
        params
    })
}

// 返回拥有该角色人员列表
export function ReturnRoleUsers(params) {
    return request({
        url: '/cloudApi/sys/role/getRoleUserList',
        method: 'get',
        params
    })
}

// 部门下权限列表 ，权限详情下部门跟人员
export function ReturnRoleDetails(params) {
    return request({
        url: '/cloudApi/sys/department/getRoleInfo',
        method: 'get',
        params
    })
}

// 给下部门添加上级角色
export function AddRoleOnDepart(data) {
    return request({
        url: '/cloudApi/sys/department/addRoleDep',
        method: 'post',
        data
    })
}

// 批量移除部门下的角色
export function RemoveRoleOnDepart(data) {
    return request({
        url: '/cloudApi/sys/department/delRoleDep',
        method: 'post',
        data
    })
}

/** 用户模块API **/
// 获取用户列表 - 不分页
export function GetUserAll(params) {
    return request({
        url: '/cloudApi/sys/user/getUserAll',
        method: 'get',
        params
    })
}

// 获取用户列表 - 分页
export function GetUserList(params) {
    return request({
        url: '/cloudApi/sys/user/getUserList',
        method: 'get',
        params
    })
}

// 添加用户
export function AddUser(data) {
    return request({
        url: '/cloudApi/sys/user/addUser',
        method: 'post',
        data
    })
}

// 获取用户信息
export function GetUserById(params) {
    return request({
        url: '/cloudApi/sys/user/getById',
        method: 'get',
        params
    })
}

// 修改用户
export function UpdateUser(data) {
    return request({
        url: '/cloudApi/sys/user/updateUser',
        method: 'post',
        data
    })
}

// 删除用户
export function RemoveUser(data) {
    return request({
        url: '/cloudApi/sys/user/removeUser',
        method: 'post',
        data
    })
}

// 启用/禁用用户
export function UpdateUserStatus(params) {
    return request({
        url: '/cloudApi/sys/user/userStatus',
        method: 'get',
        params
    })
}

// 修改用户所在的部门
export function UpdateUserDepart(data) {
    return request({
        url: '/cloudApi/sys/user/updateUserDep',
        method: 'post',
        data
    })
}


/** 部门管理  **/
// 部门管理列表数据（分页）
export function GetDepartmentDataList(params) {
    return request({
        url: '/cloudApi/sys/department/getDepartmentTree',
        method: 'get',
        params
    })
}

// 新增部门列表数据
export function AddDepartmentItemData(data) {
    return request({
        url: '/cloudApi/sys/department/addDepartment',
        method: 'post',
        data
    })
}

// 更改部门的名称
export function UpdateDepartmentItemName(data) {
    return request({
        url: '/cloudApi/sys/department/updateSysDepartment',
        method: 'post',
        data
    })
}

// 批量删除部门
export function RemoveDepartmentItemData(data) {
    return request({
        url: '/cloudApi/sys/department/removeSysDepartment',
        method: 'post',
        data
    })
}

// 批量删除部门
export function UpdateDepartmentItemStatus(params) {
    return request({
        url: '/cloudApi/sys/department/depStatus',
        method: 'get',
        params
    })
}

// 获取对应的部门下的成员列表
export function GetDepartmentMemberList(params) {
    return request({
        url: '/cloudApi/sys/department/getDepUserList',
        method: 'get',
        params
    })
}

// 获取对应的部门下的权限列表
export function GetDepartmentPowerList(params) {
    return request({
        url: '/cloudApi/sys/department/getDepRoleList',
        method: 'get',
        params
    })
}

// 获取对应的部门下的渠道列表
export function GetDepartmentChannelList(params) {
    return request({
        url: '/cloudApi/sys/department/getDepChannelList',
        method: 'get',
        params
    })
}

// 获取对应部门的渠道下拉列表
export function GetDepartmentChannelAll(params) {
    return request({
        url: '/cloudApi/sys/department/getDepChannel',
        method: 'get',
        params
    })
}

// 获取对应部门的渠道下拉列表
export function UpdateDepartmentChannel(data) {
    return request({
        url: '/cloudApi/sys/department/addChannelDep',
        method: 'post',
        data
    })
}

// 删除渠道
export function DeleteDepartmentChannel(data) {
    return request({
        url: '/cloudApi/sys/department/delChannelDep',
        method: 'post',
        data
    })
}
